iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 25
2
Modern Web

TypeScript + React + 雜七雜八系列 第 25

【Day 25】Jest,測試非同步 code 及 beforeEach

  • 分享至 

  • xImage
  •  

大家好,今天的篇章要介紹的是 Jest

一樣會延續前一天的專案結構接續下去進行修改,如果沒有參與到昨天的建置過程,這邊也有提供原始碼
https://github.com/littlehorseboy/typescript-react/tree/day24-jest


Jest

今天要實作更進階的 Jest 測試

Testing Asynchronous Code

先定義一個 setTimeout 一秒後回傳的 promise

+ src/JestPractice/promiseFunc.ts

然後利用它來撰寫測試

done()

+ __tests__/async.promises.1.test.ts

將 promise.then 當 callback 回傳

+ __tests__/async.promises.2.test.ts

expect.assertions()

+ __tests__/async.promises.3.test.ts

可以用來確保斷言執行的次數是否正確

執行結果

npm run test

以上的方式都可以用來測試非同步回傳的函式

beforeEach afterEach

這是用來在每次 test 執行前或執行後,額外做一些設置或清除什麼的動作時會用到

+ __tests__/beforeEach.test.test.ts

執行結果

npm run test -- ./__tests__/beforeEach.test.ts

可以觀察到每次 test 在執行前後都會先 console.log beforeEach 或是 afterEach


以上就是非同步及一些測試前後要掛其他處理時的應用

最後附上原始碼
https://github.com/littlehorseboy/typescript-react/tree/day25-jest


明天要繼續介紹 Jest,會簡單的寫寫 Mock


上一篇
【Day 24】Jest,安裝及基本 Matchers
下一篇
【Day 26】Jest,Mock
系列文
TypeScript + React + 雜七雜八30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言